Detecting proximity between portable computing devices is increasingly useful as the number of uniquely identifiable devices that communicate through networked communications continues to increase, and the use of such devices continues to proliferate. Examples where proximity detection is important include unlocking a door, paying in a store with a mobile device, accessing secure computing resources, and the like.
Some applications, such as payment systems, require a high level of security. Existing security methods may be adequate to ensure the identity of the devices, and the confidentiality of the data transmitted locally. It may be difficult, however, to ensure that communication between two devices actually occurs with those devices in proximity of one another, since the communication may be vulnerable to an unsophisticated relay attack that imitates the proximity between devices.